Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device

ABSTRACT

A method, apparatus and/or system related to relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device are disclosed. In one embodiment, a method includes determining that a user is likely viewing a networked media device and/or accessing a client device while viewing the networked media device, determining that the content currently being displayed on the networked media device is associated with a motion-video advertisement through an automatic content recognition algorithm applied to the networked media device, selecting an alphanumeric advertisement formatted for a display area of the client device based on contextual match between the motion-video advertisement and/or the alphanumeric advertisement, and/or delivering the alphanumeric advertisement to the client device while the motion-video advertisement is still rendering on the networked media device.

CLAIM OF PRIORITY

This disclosure claims priority to, and incorporates herein by referencethe entire specification of U.S. Provisional Patent application No.61/118,286 filed Nov. 26, 2008 and titled DISCOVERY, ACCESS CONTROL, ANDCOMMUNICATION WITH NETWORKED SERVICES FROM WITHIN A SECURITY SANDBOX.

This disclosure claims priority to, and incorporates herein by referencethe entire specification of U.S. Continuation application Ser. No.13/470,814 filed May 14, 2012 and titled DISCOVERY, ACCESS CONTROL, ANDCOMMUNICATION WITH NETWORKED SERVICES FROM WITHIN A SECURITY SANDBOX.

This disclosure claims priority to, and incorporates herein by referencethe entire specification of U.S. Provisional Patent application No.61/584,168 filed Jan. 6, 2012 and titled CAPTURING CONTENT FOR DISPLAYON A TELEVISION.

This disclosure claims priority to, and incorporates herein by referencethe entire specification of U.S. Utility Patent application No.61/696,711 filed Sep. 4, 2012 and titled SYSTEMS AND METHODS FORRECOGNIZING CONTENT.

This disclosure claims priority to, and incorporates herein by referencethe entire specification of U.S. Utility patent application Ser. No.13/736,031 filed Jan. 7, 2013 and titled ZERO CONFIGURATIONCOMMUNICATION BETWEEN A BROWSER AND A NETWORKED MEDIA DEVICE.

FIELD OF TECHNOLOGY

This disclosure relates generally to the technical field of advertising,and in one example embodiment, this disclosure relates to a method,apparatus and/or system related to relevant advertisement generationbased on a user operating a client device communicatively coupled with anetworked media device.

BACKGROUND

An advertiser may be a single party advertiser, an aggregate ofadvertisers, and/or an advertisement agency. The advertiser may targetadvertisements to a user through any number of mediums, such as atelevision channel, a webpage of a client device, and/or a mobileapplication. Advertisements for the same or similar products may be moreeffective when targeted to the user through multiple mediums and withina specific time frame. However, the advertiser may have troubleidentifying which televisions and/or client devices are associated withthe user at a given time. In addition, the advertiser may be unaware ofwhen an particular advertisement is displayed on a television associatedwith the user. Therefore, it may be difficult for the advertiser totarget an advertisement of the same or similar product to a clientdevice of the user within the specific time frame.

SUMMARY

Disclosed are a method, apparatus and/or system related to delivery of atargeted advertisement to a client device based on relevantadvertisement generation based on a user operating a client devicecommunicatively coupled with a networked television.

In one aspect, a method includes determining that a user is likelyviewing a television and/or accessing a client device while viewing thetelevision, determining that the content currently being displayed onthe television is associated with a motion-video advertisement throughan automatic content recognition algorithm applied to the television,selecting an alphanumeric advertisement formatted for a display area ofthe client device based on contextual match between the motion-videoadvertisement and/or the alphanumeric advertisement, and delivering thealphanumeric advertisement to the client device while the motion-videoadvertisement is still rendering on the television.

The method may constrain an executable environment in a securitysandbox. The method may execute a sandboxed application in theexecutable environment. The method may automatically instantiate aconnection between the sandboxed application and/or a sandbox reachableservice of the networked media device. In addition, the method maydetermine what content is being shown on the networked media device. Themethod may select an advertisement to be downloaded on the client devicebased on a contextual match between the advertisement and/or the contentbeing shown on the networked media device, wherein the alphanumericadvertisement is a textual advertisement, a display advertisement,and/or an audio-visual advertisement.

The method may determine that the user has interacted with thealphanumeric advertisement when the user selects a hyperlink in thealphanumeric advertisement. The method includes displaying themotion-video advertisement on the television based on the determinationthat the user has interacted with the alphanumeric advertisement byselecting the hyperlink in the alphanumeric advertisement.

In another aspect, a machine-implemented method of targeted advertisingto a client device includes automatically inferring a currentassociation and/or a previous association of the client device with atelevision, automatically identifying a first content displayed on thetelevision, automatically associating a time stamp with the firstcontent, and automatically targeting a second advertisement to theclient device based on the first content.

The first content may be a television show. The method includesdetermining from a schedule that the television show that the userpreviously watched is airing next. The method may select an alphanumericadvertisement associated with the television show formatted for adisplay area of the client device based on contextual match between thetelevision show and/or the alphanumeric advertisement. The method maydeliver the alphanumeric advertisement to the client device prior toairing of the television show.

The first content may be a first advertisement. The second advertisementmay deliver to the client device while the first advertisement is stillrendering on the television. The method may automatically catalogue thefirst advertisement. The inferring and/or the automatically targetingmay be through a web browser and/or an application of the client device.The automatically targeting a second advertisement to the client devicemay be based on the first advertisement is within a predetermined timethreshold of the time stamp.

The second advertisement may be interactive. The current associationand/or the previous association of the client device with the televisionmay be inferred based on a public IP address range, a public IP address,a base station MAC address, a base station BSSID, a base station SSID, aBluetooth MAC address, a geolocation, a WiFi direct MAC address of thetelevision, WiFi direct BSSID of the television, a short code, ausername, and/or a quick response (QR) code that is shared by and/orvisible to both the client device and/or the television.

The current association and/or the previous association of the clientdevice with the television may be inferred based on a mutually visibleidentifying signal from the television or a device external to thetelevision, independent of whether one or both of the television and/orthe client device can connect to the third device other than to receivethe identifying signal. The current association and/or the previousassociation of the client device with the television may be inferredbased on whether redirecting a browser of the client device and/or anapplication of the client device to a private IP address of thetelevision establishes a communication between the client device and/orthe television.

The current association and/or the previous association of the clientdevice with the television may be inferred based on whether instructingan application of the client device to perform a multicast and/or abroadcast based discovery establishes a communication between the clientdevice and/or the television. The automatically identifying may bethrough an automatic content recognition (ACR) of the television.

In yet another aspect, a system of targeted advertising includes aclient device associated with one or more servers through a network, aweb browser of the client device, and a television associated with theone or more servers through the network. The one or more servers may beconfigured to automatically infer a current association and/or aprevious association of the client device with the television. Themethod may automatically identify a first advertisement displayed on thetelevision. In addition, the method may automatically catalogue thefirst advertisement in an advertisement database. In addition, themethod may automatically associate a time stamp with the firstadvertisement.

The method may automatically target a second advertisement to a webpagedisplayed by the web browser of the client device based on the firstadvertisement and/or within a predetermined time threshold of the timestamp. The television may include a frame buffer communicatively coupledto a processor. The processor may be configured to generate at least onefingerprint. The at least one fingerprint may include least one of animage fingerprint, a sequence of image fingerprints, a fingerprint of asequence of images, and/or an audio fingerprint. The processor may beconfigured to communicate the at least one fingerprint to the one ormore servers. The automatic identification of the first advertisementmay be based on an advertisement fingerprint database and/or the atleast one fingerprint.

The one or more servers may be configured to receive the at least onefingerprint, automatically identify a channel the television is tuned tobased on the at least one fingerprint, and/or generate at least onechannel-specific fingerprint. The automatic identification of the firstadvertisement may be based on an advertisement fingerprint databaseand/or the at least one channel-specific fingerprint. The secondadvertisement may be interactive.

The current association and/or the previous association of the clientdevice with the television may be inferred based on a public IP addressrange, a public IP address, a base station MAC address, a base stationBSSID, a base station SSID, a Bluetooth MAC address, a geolocation, aWiFi direct MAC address of the television, WiFi direct BSSID of thetelevision, a short code, a username, and/or a quick response (QR) codethat is shared by and/or visible to both the client device and/or thetelevision.

The current association and/or the previous association of the clientdevice with the television may be inferred based on a mutually visibleidentifying signal from the television or a device external to thetelevision, independent of whether one or both of the television and/orthe client device can connect to the third device other than to receivethe identifying signal. The current association and/or the previousassociation of the client device with the television may be inferredbased on whether redirecting the browser of the client device to aprivate IP address of the television establishes a communication betweenthe client device and/or the television.

In yet another aspect system of targeted advertising includes a clientdevice associated with servers through a network, an application of theclient device, and a television associated with the one or more serversthrough the network. The one or more servers may be configured to:automatically infer a current association and/or a previous associationof the client device with the television, automatically identify a firstadvertisement displayed on the television, automatically catalogue thefirst advertisement in an advertisement database, automaticallyassociate a time stamp with the first advertisement, and automaticallytarget a second advertisement to the application of the client devicebased on the first advertisement and/or within a predetermined timethreshold of the time stamp.

The methods and systems disclosed herein may be implemented in any meansfor achieving various aspects, and may be executed in a form of anon-transitory machine-readable medium embodying a set of instructionsthat, when executed by a machine, cause the machine to perform any ofthe operations disclosed herein. Other features will be apparent fromthe accompanying drawings and from the detailed description thatfollows.

BRIEF DESCRIPTION OF DRAWINGS

Example embodiments are illustrated by way of example and not limitationin the Figure of the accompanying drawing, in which like referencesindicate similar elements and in which:

FIG. 1 is a block diagram of a system of targeted advertising to aclient device, through an application, based on an advertisementdisplayed on a television, according to one embodiment.

FIG. 2 is a block diagram of a system of targeted advertising to aclient device, through a web browser, based on an advertisementdisplayed on a television, according to one embodiment.

FIG. 3 is a block diagram of a system of discovery, through anapplication, of a television networked to a client device and targetedadvertising to the client device, according to one embodiment.

FIG. 4 is a block diagram of a system of discovery, through a webbrowser, of a television networked to a client device and targetedadvertising to the client device, according to one embodiment.

FIG. 5 is an exploded view of the television of FIG. 1, according to oneembodiment.

FIG. 6A-B are block diagrams of a system of targeted advertising to aclient device based on an advertisement displayed on a television,wherein the advertisement is identified based on a channel thetelevision is tuned to, according to one embodiment.

FIGS. 7A-B are block diagrams of a system of targeted advertising to aclient device, through an ad exchange, based on an advertisementdisplayed on a television, according to one embodiment.

Other features of the present embodiments will be apparent from theaccompanying drawings and from the detailed description that follows.

DETAILED DESCRIPTION

A method, apparatus and/or system related to delivery of a targetedadvertisement to a client device based on relevant advertisementgeneration based on a user operating a client device communicativelycoupled with a networked television.

In one embodiment, a method includes determining that a user 180 islikely viewing a television 110 and/or accessing a client device whileviewing the television 110, determining that the content currently beingdisplayed on the television 110 is associated with a motion-videoadvertisement (e.g., the advertisement 160 in an embodiment of atelevision commercial) through an automatic content recognitionalgorithm applied to the television 110, selecting an alphanumericadvertisement formatted for a display area of the client device based oncontextual match between the motion-video advertisement (e.g., theadvertisement 160) and/or the alphanumeric advertisement (e.g., a textand/or image advertisement), and delivering the alphanumericadvertisement to the client device while the motion-video advertisement(e.g., the advertisement 160) is still rendering on the television 110.

The method may constrain an executable environment in a security sandbox(e.g, in a web browser). The method may executing a sandboxedapplication in the executable environment. The method may automaticallyinstantiating a connection between the sandboxed application and/or asandbox reachable service of the networked media device. In addition,the method may determining what content is being shown on the networkedmedia device. The method may select an advertisement to be downloaded onthe client device based on a contextual match between the advertisementand/or the content being shown on the networked media device, whereinthe alphanumeric advertisement is a textual advertisement, a displayadvertisement, and/or an audio-visual advertisement.

The method may determine that the user 180 has interacted with thealphanumeric advertisement when the user 180 selects a hyperlink in thealphanumeric advertisement. The method includes displaying themotion-video advertisement (e.g., the advertisement 160) on thetelevision 110 based on the determination that the user 180 hasinteracted with the alphanumeric advertisement by selecting thehyperlink in the alphanumeric advertisement.

A user may use a client device and a watch a television at the sametime. The client device may be a laptop, tablet, mobile phone, or anyother portable electronic device. The television may be tuned to aterrestrial broadcast, a satellite channel, or a cable channel. Thetelevision may stream content over a television network (e.g. aterrestrial broadcast network, a satellite network, or a cabletelevision network) or an internet protocol (IP) network. In oneexample, the television may receive a video stream from an internetservice (e.g. Hulu, Crunchyroll, etc.) over the IP network. Thetelevision may display a first advertisement. An association of theclient device and the television with each other and/or with the usermay be inferred by a number of methods, as disclosed in a number ofembodiments and Figures herein. An advertiser (e.g. a single-partyadvertiser, an aggregate of advertisers, and/or an advertisement agency)may desire to target a second advertisement to the client device basedon the first advertisement and/or the inferred association.

In one or more embodiments, the client device and the television mayboth be inferred to be associated with each other and/or with the user.The association may be inferred based on a geospatial proximity, ashared public IP address, a shared public IP address range, a basestation MAC address, a base station service set identifier (base stationBSSID), a direct pairing, and/or a shared identifier. Geospatialproximity may be inferred by GPS. Alternatively or in addition,geospatial proximity may be inferred by mutual visibility of a basestation BSSID and/or base station MAC address (even if the client device100 and/or the television 110 cannot connect or communicate through thebase station). The shared identifier may be a globally unique identifier(GUID), a session ID, a username and/or password, an ephemeral GUID, ashort code, a quick response code (QR code) or any combination thereof.In addition or alternatively, the association may be inferred based on adiscovery protocol, such as a redirect (e.g. a redirect of a browser orapplication that specifies a private IP of a television that may beassociated with the client device), a multicast protocol (e.g. a simpleservice discovery protocol (SSDP)), and/or a broadcast protocol. Otherdiscovery protocols are within the scope of the embodiments disclosedherein. The discovery protocol may establish whether the client deviceand television are currently connected to the same network (e.g. througha private network, via LAN, and/or by direct pairing) or whether theclient device can view a network the television is connected to. In oneor more embodiments, the association may be inferred based, at least inpart, on a previously inferred association. For example, if at one time,an association of a client device at an original geolocation and atelevision with a user is inferred based on a shared user ID of theclient device and the television, the association may later be inferredsimply by geospatial proximity of the client device to the originalgeolocation.

In one or more embodiments, the television may display the firstadvertisement. The first advertisement may be identified by automaticcontent recognition (ACR) and/or an advertisement identification modulerun on the television and/or run on a server of a network the televisionis connected to. Alternatively, the ACR may be an audio ACR run on aclient device within hearing range of a television. This would be usefulfor identifying an advertisement played on a television without an ACR.The identified first advertisement may be catalogued on the server, oron another server. Further, the identified first advertisement may beassociated with a time stamp.

In one or more embodiments, the second advertisement may be targeted tothe client device based on the identified first advertisement. Thesecond advertisement may be targeted within a time threshold of the timestamp. The second advertisement may share a brand, service, product,and/or product line with the identified first advertisement. In one ormore embodiments, the second advertisement may be interactive (e.g. mayallow the user to navigate to a website, participate in a survey, claima coupon or incentive, etc.).

In one or more embodiments, the ACR module may be used to identify othercontent besides or in addition to advertisements, such as objects,people, and/or locations featured on a channel the television is tunedto. The second advertisement may be determined, at least in part, basedon the other content. For example, a television may display a car show.The second advertisement may be an advertisement for a car model and/orbrand.

The inferred association between the client device and the television,the identification, cataloging and time stamping of the first, and thetargeting of the second advertisement to the client device may beperformed by one or more servers connected to the client device and/ortelevision across a network. A number of servers, with various databasesand modules, are illustrated in the Figures. The servers are organizedby function, although one or more of the servers may be part of the sameserver. Further, different organization of the databases and modulesbetween servers are within the scope of the embodiments disclosedherein.

Reference is now made to FIG. 1, which is a block diagram of a system oftargeted advertising to a client device 100, through an application 102,based on an advertisement 160 displayed on a television 110. The clientdevice 100 may be a laptop, tablet, mobile phone, or any other portableelectronic device. The client device 100 may comprise an application102. The application 102 may or may not be sandboxed. The television 110may comprise a display 112. The advertisement 160 displayed by thetelevision 110 may be a video advertisement, an overlay advertisement,and/or a placement advertisement. The client device 100 and thetelevision 110 may be coupled to a network 120, such as a wide areanetwork (WAN) and/or an IP network. The television 110 may, over atelevision network (e.g. the network 120 or another network such as anIP network or a television network), stream content that containsadvertisements. The network 120 may comprise one or more serversinvolved in targeted advertising to the client device 100 based on theadvertisement 160 displayed on the television 110.

In one or more embodiments, the network 120 may comprise a discoveryserver 130. The discovery server 130 may comprise a device database 132that stores device-identification data (i.e. data useful for identifyingthe client device 100 and/or the television 110). Thedevice-identification data may be a current or previous geospatialproximity, a public IP address, a public IP address range, a service setidentifier (SSID), a base station MAC address, a base station serviceset identifier (base station BSSID), a direct pairing, a globally uniqueidentifier (GUID), a session ID, a username and/or password, anephemeral GUID, a short code, a quick response code (QR code) or anycombination thereof. A matching module 134 of the discovery server 130may infer an association between the client device 100 and thetelevision 110 based on a shared device-identification data. Theinferred association between the client device 100 and the television110 may be an inferred connectivity of the client device 100 to thetelevision 110 and/or an inferred association of both the client device100 and the television 110 with a user 180. In one or more embodiments,the application 102 may communicate device-identification data to thediscovery server 130 to be stored in the device database 132.

In one example, the user 180 may input a username and/or short code toboth the client device 100 and the television 110 (e.g. at the same timeor at different times). The username and/or short code associated withthe client device 100 and the username and/or short code associated withthe television 110 may be stored on the device database 132. Thematching module 134 may infer an association between the client device100 and the television 110 based on the username and/or short codeshared by the client device 100 and the television 110.

In another example, a short code may be displayed on the television 110based on an inferred proximity of the client device 100 to thetelevision 110. The client device 100 may prompt the user 180 to inputand/or confirm the short code displayed on the television 110. Anassociation between the client device 100 and the television 110 maythen be inferred by the matching module 134, based on the user 180 inputand/or confirmation of the short code presented on the television 110.

In another example, when the user 180 uses the application 102 to take apicture of a QR code displayed on the television 110, the application102 may communicate the QR code to the discovery server 130. Thematching module 134 may infer an association between the client device100 and the television 110 based on the QR code shared by the clientdevice 100 and the television 110. Examples of using otherdevice-identification data and/or combinations of device-identificationdata to infer an association between the client device 100 and thetelevision 110 are within the scope of the embodiments disclosed herein.

In one or more embodiments, the network 120 may further comprise anadvertisement identification server 140. The advertisementidentification server 140 may identify an advertisement 160 displayed onthe television 110. The advertisement identification server 140 maycomprise an advertisement fingerprint database 142. The advertisementfingerprint database 142 may store fingerprints (e.g. imagefingerprints, audio fingerprints, video fingerprints and/or a series offingerprints thereof) associated one or more advertisements. Thetelevision 110 may communicate fingerprints of the advertisement 160 tothe advertisement identification server 140. An advertisementidentification module 144 may identify the advertisement 160 based on amatching of the fingerprints of the advertisement 160 to fingerprintswithin the advertisement fingerprint database 142. Further, theadvertisement identification module may also account for noise, changesto aspect ratio, and/or other transformations that may complicate theidentification of the advertisement 160. The advertisementidentification module 144 may catalogue (i.e. store information relatingto) the advertisement 160 in a recent advertisement database 146. Theadvertisement identification module 144 may further associate a timestamp with the advertisement 160.

In one or more embodiments, the fingerprints stored in the advertisementfingerprint database 142 may be provided by one or more advertisers.Alternatively or in addition, the fingerprints stored in theadvertisement fingerprint database 142 may be provided by an algorithmthat infers an advertisement based on the fingerprints provided by thetelevision 110. For example, a sequence of image fingerprints may beinferred to be an advertisement based on repetition.

In one or more embodiments, the network 120 may further comprise anadvertisement targeting server 150. The advertisement targeting server150 may comprise a client device to television database 152. The clientdevice to television database 152 may comprise inferred associationsbetween client devices and televisions (e.g. inferred direct coupling,inferred connectivity through a network, and/or inferred associationwith the same user). In one embodiment, the client device to televisiondatabase 152 may be generated by the matching module 134. Theadvertisement targeting server 150 may further comprise an advertisementtargeting module 154. The advertisement targeting module 154 may accessthe client device to television database 152 and/or the recentadvertisement database 146. The advertisement targeting module 154 maytarget an advertisement 162 to the client device 100 based on anidentified advertisement (e.g. the advertisement 160) displayed on atelevision (e.g. the television 110) inferred to be associated with theclient device. The advertisement targeting module 154 may target theadvertisement 162, through the application 102, to the client device100.

In one or more embodiments, the advertisement 162 may feature a same orsimilar product, product line, and/or brand as featured by theadvertisement 160. The advertisement 162 may be a video advertisement,audio advertisement, overlay advertisement, image advertisement, banneradvertisement, placement advertisement, interactive advertisement and/ora continuation advertisement (e.g. an advertisement that refers tocontent in the advertisement 160).

Alternatively or in addition, the advertisement 162 may be a competitoradvertisement and/or a rebuttal advertisement. In one example of acompetitor advertisement, the advertisement 160 may be for a car modelof one brand and the advertisement 162 may be for a car model of acompeting brand. In one example of a rebuttal advertisement, theadvertisement 160 may make a claim of superiority over another brand andthe advertisement 162 may respond to the claim of superiority. In one ormore embodiments, the determination of advertisement 162 may be offeredto the advertiser behind the advertisement 160, before being offered toa competitor of the advertiser.

In one or more embodiments, the application 102 may be configured by asoftware development kit (SDK) to receive and display the advertisement162 from the advertisement targeting module 154. In one or moreembodiments, the advertisement targeting module 154 may target theadvertisement 162 to the client device within a time threshold of thetime stamp.

In one example, an inferred association between the client device 100and the television 110 may be stored in the client device to televisiondatabase 152. The advertisement 160 may be identified, catalogued in therecent advertisement database 146, and/or time stamped by theadvertisement identification module 144. The advertisement targetingmodule 154 may target the advertisement 162, based on the client deviceto television database 152 (i.e. inferred association between the clientdevice 100 and the television 110) and the recent advertisement database146 (i.e. the identified advertisement 160), to the client device 100through the application 102.

In one or more embodiments, the advertisement 162 may be interactive(e.g. allow the user to respond to a survey, navigate the user to theadvertiser's website, etc.). For example, the advertisement 162 mayprompt the user 180 to share whether he or she recognizes the product,product line, and/or brand featured in the advertisement 160. A surveyof brand recognition may serve as a measure of the success of theadvertisement 160.

Reference is now made to FIG. 2, which is a block diagram of a system oftargeted advertising to the client device 100, through a web browser202, based on the advertisement 160 displayed on the television 110. Theweb browser 202 may be directed to a website 222 on the network 120 andmay display a web page 204 on the client device 100. In one or moreembodiments, the website 222 may communicate, or may direct the webbrowser 202 to communicate, device-identification data to the discoveryserver 130 to be stored in the device database 132.

In one or more embodiments, The advertisement targeting module 154 maytarget the advertisement 162 to the web page 204. In one or moreembodiments, the website 222 may be configured by a software developmentkit (SDK) to receive the targeted advertisement 162 from theadvertisement targeting module 154 and/or display the targetedadvertisement 162 on the web page 204. The advertisement targetingmodule may target the advertisement 162, based on the client device totelevision database (i.e. inferred association between the client device100 and the television 110) and the recent advertisement database 146(i.e. the identified advertisement 160).

Reference is now made to FIG. 3, which is a block diagram illustrating asystem of discovery, through the application 102 of a client device 100,of the television 110 connected to a private network 320. The privatenetwork 320 may be one or more LANs and/or wireless LANs (WLANs), andmay span a single room or multiple buildings in proximity. The clientdevice 100 and/or television 110 may be coupled to the private network320, capable of connecting to the private network 320, and/or capable ofviewing a wireless base station of the private network 320, any of whichmay allow an inferred association between the client device 100 and thetelevision 110.

In one or more embodiments, the discovery server 130 of the network 120may comprise a discovery module 334. The discovery module 334 may accessinformation about one or more devices (e.g. the client device 100 and/orthe television 110) from the device database 132. In one or moreembodiments, the discovery module 334 and/or the application 102 mayinstruct the client device 100 (e.g. through the application 102) toattempt to establish a communication with the television 110 through theprivate network 320. The television 110 may provide an advertisementidentification service (e.g. an ACR). The discovery module 334 and/orthe application 102 may instruct the client device 100 to perform abroadcast and/or multicast (e.g. a user datagram protocol (UDP) or apragmatic general multicast (PGM)) based discovery to establish thecommunication. The application 102 may report whether the communicationwas established to the discovery module 334.

In one or more embodiments, the application 102 may employ the broadcastor the multicast based discovery independent of any previously inferredassociation between the client device 100 and the television 110. Forexample, the application 102 may automatically employ the broadcast orthe multicast based discovery every time the application 102 is run onthe client device 100.

In one or more embodiments the client device 100 may be configured toview an identifying signal from a base station (e.g. an airport basestation, a base station MAC address, a base station BSSID, etc.),television (e.g. WiFi direct MAC address), and/or an SSID. In one ormore embodiments, the client device 100 may report a viewed base station(e.g. e.g. one or more of the viewed base station's MAC address, BSSID,etc.) and/or a viewed television 110 (e.g. one or more of WiFi DirectMAC address, BSSID and SSID or the television's 110 Bluetooth MACaddress of the television 110) to the device database 132.

In one or more embodiments, the discovery module 334 may match theclient device 100 to the television 110 based on the viewed basestation's MAC address, BSSID and/or SSID, or based on a WiFi Direct MACaddress, BSSID, and/or SSID. In one or more embodiments the clientdevice 100 may be configured to automatically search for viewable basestations and/or SSID addresses.

In one or more embodiments, the client device 100 and the television 110may report to the device database 132 any visible wirelessly broadcastidentifier that may then be used as a landmark regardless of whether thesignal emits from a base station, the television 110, or any otherdevice. The discovery module 334 may match the client device 100 to thetelevision 110 based on the landmark visible to both the client deviceand the television 110, even if the client device 100 and/or television110 cannot otherwise connect to and/or communicate with the landmark.

Reference is now made to FIG. 4, which is a block diagram illustrating asystem of discovery, through the web browser 202 of the client device100, of the television 110 connected to a private network 320. Theprivate network 320 may be one or more LANs, and may span a single roomor multiple buildings in proximity. The client device 100 may be coupledto the private network 320, capable of connecting to the private network320, and/or capable of viewing a wireless base station of the privatenetwork 320, any of which may allow an inferred association between theclient device 100 and the television 110.

In one or more embodiments the television 110 may have a private IPaddress. Further, the private IP address of the television 110 may bestored as device identification data in the device database 132 of thediscovery server 130. In one or more embodiments, the discovery module434 may infer the possibility that the client device 100 is in proximityand/or has access to the television 110 based on one or moredevice-identification data. Examples of device-identification data areprovided in the discussion of FIG. 1.

In one or more embodiments, the website 222 may redirect the web browser202 to the private IP address of the television 110. The television mayreport the redirect to the discovery module 434 (thus confirming anassociation between the client device 100 and the television 110) and/ormay store a record of the association between the client device 100 andthe television 110 in the client device to television database 152.Alternatively, the television 110 my redirect the web browser 202 to thediscovery server 130 and/or the discovery module 434 of the discoveryserver 130. In one or more embodiments, the television 110 may redirectthe web browser to the discovery module 434.

In one or more embodiments, the website 222 and/or additional websitesmay redirect the web browser to other private IP addresses, thusemploying a trial and error method of discovery.

In one or more embodiments an image tag dropped on the website mayredirect the web browser to the private IP address of the television110. In one or more embodiments, the website 222 may sync a cookie withan ID (e.g. Google ID (GID), GUID, etc.). The synced cookie and ID maybe present in the HTTP address of a redirect. Upon redirection of thebrowser to the television 110 based on the private IP address, thetelevision may report the cookie and ID to the discovery module 434and/or may store a record of the association between the client device100 and the television 110 in the client device to television database152.

Reference is now made to FIG. 5, which is an exploded view of thetelevision 110 of FIG. 1. The television 110 may receive a data stream512 from a television network (e.g. a terrestrial broadcast network, asatellite network, or a cable television network) or an internetprotocol (IP) network. The data stream 512 may be audio and/or videodata. Video data may be rendered on the display 112 of the television110. The television 110 may render an advertisement 160, sent over thedata stream 512, on the display 112.

In one or more embodiments, the television may comprise an automaticcontent recognition (ACR) 514. The ACR 514 may have access to the datastream 512. For example, the ACR 514 may access video data through aframe buffer of the television 110. The ACR 514 may extract one or morefingerprints (e.g. image fingerprints, audio fingerprints, videofingerprints and/or a series of fingerprints thereof) from the datastream 512.

In one example, a video fingerprint may be a fingerprint of a series ofimages. The video fingerprint may comprise motion vectors and/or otherfeatures that deal with the differences between frames or a sequence offrames.

In one or more embodiments, the ACR 514 may send the fingerprints to theadvertisement identification module 144 of FIG. 1. The ACR 514 and/orthe advertisement identification module 144 may account for noise,changes to aspect ratio, and other transformations that may complicatethe identification of the advertisement 160.

In one or more embodiments, the advertisement identification module 144may identify the advertisement 160 displayed by the television 110 bycomparing the fingerprints to the advertisement fingerprint database142. The advertisement identification module 144 may further catalogue(i.e. store information relating to) the advertisement 160 in the recentadvertisement database 146. In one embodiment, the fingerprints may be aseries of image fingerprints. In one or more embodiments, newfingerprints may be extracted (e.g. at the advertisement identificationserver 140) from whole image data, video, audio, and/or fingerprintsgenerated by the ACR 514. The new fingerprints may then be communicatedto the advertisement identification module 144.

In one or more embodiments, the television 110 may further comprise adiscoverable service 516. The discoverable service 516 may enable theapplication 102 of FIG. 3 and/or the web page 204 of FIG. 4 to discoverthe television 110. The application 102 and/or the web page 204 may ormay not be sandboxed. In another embodiment, the discoverable service516 may report to the device database 132 of FIG. 1 any visiblewirelessly broadcast identifier that may then be used as a landmarkregardless of whether the signal emits from a base station, thetelevision 110, or any other device. Alternatively or in addition, thediscoverable service 516 may report a viewed base station (e.g. one ormore of the viewed base station's MAC address, BSSID, etc.) and/or aviewed television 110 (e.g. one or more of WiFi Direct MAC address,BSSID and SSID or the television's 110 Bluetooth MAC address of thetelevision 110) to the device database 132.

Reference is now made to FIGS. 6A-B, which is a block diagram of asystem of targeted advertising to the client device 100 based on theadvertisement 160 displayed on the television 110, wherein theadvertisement 160 is identified based on a channel the television 110 istuned to. The advertisement identification server 140 may be locatedwithin a studio or household receiving one or more channels, within acable television head end, in a satellite uplink, or in a market wherethe content is distributed earlier. The advertisement identificationserver 140 may identify a channel based on one or more fingerprints fromthe television 110, and may run a separate ACR to generate detailedfingerprints at the location of the advertisement identification server140. This system allows for more intense processing to be performed atthe location of the advertisement identification server 140, which mayhave access to greater computing power than by the television 110.Further, this system circumvents issues that arise if the ACR (e.g. athird party ACR) run on the television 110 does not provide fingerprintssuitable for advertisement identification.

In one or more embodiments, the advertisement identification server 140may comprise a channel fingerprint database 642 and a channelidentification module 644. The channel identification module 644 mayreceive, directly or indirectly, fingerprints from the television 110.The channel identification module may identify a channel the television110 is tuned to by comparing the fingerprints to the channel fingerprintdatabase 642. An ACR module 646 of the advertisement identificationserver 140 may generate detailed fingerprints from the identifiedchannel (e.g. from a video feed, a frame buffer, or another source ofchannel-specific video data). The advertisement identification module144 may identify the advertisement 160 being displayed on the television110 based on a comparison of the detailed fingerprints generated to theadvertisement fingerprint database 142. The advertisement identificationmodule 144 may catalogue (i.e. store information relating to) theidentified advertisement 160 in the recent advertisement database 146.

In one or more embodiments, the channel identification module 644 mayinfer the channel being rendered by the television 110 by comparingfingerprints from the television 110 with fingerprints received from anauthoritative source such as a dedicated capture infrastructure. Thededicated capture may comprise a capture device receiving video from acable, satellite 620, terrestrial broadcast, or streaming channel. Iffingerprints from the television 110 sufficiently match to fingerprintsfrom the dedicated capture infrastructure then the channel is identified(meaning the television 110 is inferred to be rendering the identifiedchannel).

In one or more embodiments, the advertisement targeting module 154 mayaccess the client device to television database 152 and/or the recentadvertisement database 146. The advertisement targeting module 154 maytarget an advertisement 162 to the client device 100 based on anidentified advertisement displayed on a television inferred to beassociated with the client device. The advertisement targeting module154 may target the advertisement 162 through the application 102 to theclient device 100, as shown in FIG. 6A. Further embodiments involvingtargeted advertising through the application 102 have been discussed inFIG. 1, and are within the scope of the embodiments disclosed herein.Alternatively, the advertisement targeting module 154 may target theadvertisement 162 through the website 222 and/or web browser 202 to theclient device 100, as shown in FIG. 6B. Further embodiments involvingtargeted advertising through the website 222 and/or web browser 202 havebeen discussed in FIG. 2, and are within the scope of the embodimentsdisclosed herein.

In one or more embodiments, the advertisement identification server 140may be placed (e.g. within a studio or household receiving one or morechannels, within a cable television head end, in a satellite uplink, orin a market where the content is distributed earlier) to receive one ormore fingerprints from an advertisement 160 before the televisiondisplays the advertisement 160. The advertisement identification server140 and may therefore be capable of identifying the advertisement beforeit is displayed on the television 110. The advertisement targetingserver 150 may target the advertisement 162 to the client device 100before the advertisement 160 is displayed on the television 110. In oneor more embodiments, the advertisement 162 may be a continuationadvertisement (e.g. may refer to or lead into content of theadvertisement 160 at the time or before the advertisement 160 isdisplayed).

Reference is now made to FIGS. 7A-B, which is a block diagram of asystem of targeted advertising to a client device 100, through an adexchange 726 and an application 102, based on an advertisement 160displayed on a television 110. The ad exchange 726 may allow foradvertisements to be targeted to a wider range of client devices.Further, the prices set by the ad exchange 726 may not take into accountthe identified advertisement 160 and/or an inferred association betweenthe client device 100 and the television 110. An arbitrage may bepossible when an advertiser, if given the additional information of theidentified advertisement 160 and/or the inferred association between theclient device 100 and the television 110, would be willing to bid (e.g.pay, buy) for an advertisement spot at a higher price than theadvertising spot is being sold for.

In one or more embodiments, the ad exchange 726 may be coupled to asupply side platform (SSP) 724 that aggregates one or more applications,configured for advertisement placement, across a number of clientdevices. The ad exchange 726 may be coupled to a demand side platform(DSP) 728 that aggregates one or more advertisers (e.g. single partyadvertisers, ad agencies, etc.). The ad exchange 726 may open, to theDSP 728, a bid request for an advertisement spot. A 3^(rd) party server730 may target an advertisement to the advertisement spot based on a bid(e.g. sale) on the advertisement spot.

In one or more embodiments, an advertisement bidding module 754 of theadvertisement targeting server 150 may bid in real time, through the adexchange 726, to place an advertisement 162 on the client device 100.The advertisement bidding module 754 may bid based on an identificationof the advertisement 160 of the television 110 and an inferredassociation of the client device 100 and the television 110. Further,the advertisement bidding module 754 may bid based on a price theadvertiser of the advertisement 162 is willing to pay for placement ofthe advertisement 162 on the client device.

Further, the ad exchange 726 may sell the advertisement spot with theassociated content ID on the ad exchange 726 for a higher price than theoriginal advertisement spot. The content ID may identify the inferredassociation between the client device 100 and the television 110 and/orthe advertisement 160 displayed by the television 110). An advertisermay be interested to bid on the advertisement spot when it is associatedwith the content ID. The advertisement bidding module 754 may beconfigured to wait to bid on the original advertisement spot until abuyer bids on the advertisement spot associated with the content ID. Ifa penalty is given for unsatisfied sales, the advertisement biddingmodule may be further configured to open a bid on the advertisement spotassociated with the content ID based on the penalty and a risk that thepenalty would be incurred.

In one or more embodiments, the SSP 724 and/or ad exchange 726 mayobtain at least one of a content ID (e.g. one or more identifiers of theadvertisement 160 and/or other content displayed by the television 110)and associate at least one of the content ID with an advertisement spot.In one or more embodiments, the content ID may be a brand, product,product line, or advertiser of the advertisement 160. Alternatively orin addition, the content ID may be an object, person, and/or locationfeatured on a channel the television is tuned to.

In one or more embodiments, the advertisement bidding module 754 may beconfigured to bid under certain conditions (e.g. degree of certainty ofan association between the client device 100 and the television 110,degree of certainty that the advertisement 160 was correctly identified,price of targeting the advertisement 162 as determined by the adexchange 762, etc.) predetermined by the advertiser of the advertisement162. Further, the advertisement bidding module 754 may be configured tobid when the advertiser is willing to pay more (e.g. based on theadvertisement 160 and/or the inferred association between the clientdevice 100 and the television 110) than a current bidding price to placethe advertisement 162.

In FIG. 7A, the advertisement spot may be available on and/or through anapplication 102 of the client device 100.

In FIG. 7B, the advertisement spot may be available on and/or through awebsite 222. In one embodiment, the website 222 serves a web page thatincludes a URL in an HTML tag (e.g., an IMG, IFRAME, or FRAME tag) thatcauses the web browser 202 to send a request to the ad exchange 726 orthe SSP 724. Because such tags on web page 204 are usually invisible tothe user 180, they are called “tracking pixels.”

For example, the web page 204 from website 222 may contain the followingtracking pixel HTML tag:

-   -   <IFRAME SRC=“http://example.adex.com/pixel”/>

The iframe tag above may cause the web browser 202 to download a webpage from the ad exchange 726 containing one or more HTML tags thatcause the web browser 202 to send a request to an advertisementtargeting server 150. For example, the request may be:

-   -   <IMG        SRC=“http://example.adex.com/pixel?buyer=advertisementtargetingserver150”width=1        height=1/>

Alternatively, website 222 may directly contain the above IMG tagwithout first loading an iframe or frame from the ad exchange 726 or theSSP 724. The IMG tag above may cause the web browser 202 to send arequest to the ad exchange 726 or a SSP 724. For example, the requestmay be:

-   -   GET /pixel?buyer=advertisementtargetingserver150 HTTP/1.1    -   Host: example.adex.com    -   Cookie: user=user180        where user180 represents a user ID for user 180, and        advertisementtargetserver150 may be mapped by the advertisement        targeting server 150 to the ad exchange 726. For the purposes of        illustration, the advertisement targeting server may have        previously provided to the ad exchange 726 or SSP 724 the        following URL:    -   http://example.adtargetingserver150.com/pixel

The ad exchange 726 or the SSP 724 maps theadvertisementtargetingserver150 id on to the URL provided above and thenthe ad exchange 726 or the SSP 724 appends a user identifier for user180 that is mapped from, derived from, or equal to the user IDcommunicated in the cookie user=user180. For example, the URL may be:

-   -   http://example.advertisementtargetingserver150.com/pixel?user=user180

The ad exchange 726 or the SSP 724 returns to the web browser 202 aredirect (e.g., an HTTP 302) specifying the URL above as the location ofthe redirect. The web browser 202 then sends a request to theadvertisement targeting server 150. For example, the request may be:

-   -   GET /pixel?user=user180    -   Host: example.adex.com

When the request arrives at the advertisement targeting server 150, theadvertisement targeting server 150 need only look at the IP packetheaders of the request to determine the public IP address of the webbrowser 202. Thus the advertisement targeting server 150 now has twopieces of information: the public IP address of the web browser 202 andthe user ID (e.g. of user 180) of the ad exchange 726 associated withthe web browser 202.

The advertisement targeting server 150 then queries the device database132 for any televisions behind or associated with the public IP or theaddress range containing the public IP. If any exist (e.g. television110), the advertisement targeting server 150 may update the clientdevice to television database 152 to reflect the association between theclient device 100 and the television 110. Furthermore the advertisementtargeting server 150 associates with the client device the ad exchange'suser ID user. The advertisement targeting server 150 may then tell theadvertisement bidding module 754 to begin placing bids on bid requestsfrom the ad exchange 176 for user 180, based on any recent advertisement160 displayed on television 110, to place a targeted advertisement 162on client device 100.

In the embodiments illustrated above, the website 222 is used only toobtain a mapping between client device 100 and television 110 andbetween the client device 100 and the user ID (e.g. of user 180) of thead exchange 726. Any bidding performed by the advertisement biddingmodule 754 for advertisement spots associated with user 180 may refer toany web site that is selling advertisement spots on the ad exchange 726and is thus not limited to the website 222 that contained the trackingpixel.

We can extend the examples above to confirm that the web browser 202 ison the same private network with the television 110 if it is behind thesame public IP address or public IP address range. In response to theredirection request from the web browser 202 to the advertisementtargeting server 150, the advertisement targeting server 150 couldrespond with a redirect to the private IP address of the television 110.For the purposes of illustration, the television 110 has a private IPaddress 192.168.1.14, and thus the location URL of the redirect from theadvertisement targeting server 150 may be:

-   -   HTTP/1.1 302 Found    -   Location: http://192.168.1.14:8080/disambiguate?user=U

If the browser successfully opens a connection to 192.168.1.14, then theTV knows the user 180 (e.g. with user ID U) is on the same privatenetwork with television 110 and is running on the device with private IPrevealed in the request's IP packet headers and the MAC address revealedin the request's frame headers. The MAC address may be used to generatea long-term identifier for the client device 100 used by user 180 (e.g.with the user ID U). The television 110 may also take the opportunity touse other protocols that only work between devices on the same network,such as uPnP, to further interrogate the client device to determines itsoffered services which often includes a description of the deviceincluding its make and/or model. The television 110 may then communicateits confirmed association with user 180 on the web browser 202 runningon the client device 100 with determined MAC address and/orMAC-address-derived long-term identifier and with any other informationdetermined by interrogating the client device 100 back to theadvertisement targeting server 150. The advertisement targeting server150 may then store the confirmed association in the client device totelevision database 152.

Although the present embodiments have been described with reference tospecific example embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the various embodiments.For example, the discovery server 130, the advertisement identificationserver 140, and the advertisement targeting server 150 may all be in oncentral location (i.e. part of one server). Further, the databases andmodules of each server may be organized differently (i.e. may be ondifferent servers) in one or more embodiments. Accordingly, thespecification and drawings are to be regarded in an illustrative inrather than a restrictive sense.

1. A method comprising: determining that a user is likely viewing anetworked media device and accessing a client device while viewing thenetworked media device; determining that the content currently beingdisplayed on the networked media device is associated with amotion-video advertisement through an automatic content recognitionalgorithm applied to the networked media device; selecting analphanumeric advertisement formatted for a display area of the clientdevice based on a contextual match between the motion-videoadvertisement and the alphanumeric advertisement; and delivering thealphanumeric advertisement to the client device while the motion-videoadvertisement is still rendering on the networked media device.
 2. Themethod of claim 1 further comprising: constraining an executableenvironment in a security sandbox; executing a sandboxed application inthe executable environment; determining what content is being shown onthe networked media device; selecting an advertisement to be downloadedon the client device based on a contextual match between theadvertisement and the content being shown on the networked media device,wherein the alphanumeric advertisement is at least one of a textualadvertisement, a display advertisement, and an audio-visualadvertisement, and wherein an alphanumeric advertisement spot issubmitted to an advertisement exchange.
 3. The method of claim 2 furthercomprising: automatically instantiating a connection between thesandboxed application and a sandbox reachable service of a networkedmedia device.
 4. The method of claim 2 further comprising: automaticallyinferring that a sandbox and the network media device are in proximitybased on an association between the sandbox and the network mediadevice.
 5. The method of claim 3, wherein at least one of the currentassociation and the previous association of the client device with thenetwork media device is inferred based on at least one of a public IPaddress range, a public IP address, a base station MAC address, a basestation BSSID, a base station SSID, a Bluetooth MAC address, ageolocation, a WiFi direct MAC address of the networked media device,WiFi direct BSSID of the television, a short code, a username, and aquick response (QR) code that is at least one of shared by and visibleto both the client device and the network media device.
 6. The method ofclaim 1 further comprising: determining that the user has interactedwith the alphanumeric advertisement when the user selects a hyperlink inthe alphanumeric advertisement; and displaying the motion-videoadvertisement on the networked media device based on the determinationthat the user has interacted with the alphanumeric advertisement byselecting the hyperlink in the alphanumeric advertisement.
 7. Amachine-implemented method of targeted advertising to a client device,comprising: automatically inferring at least one of a currentassociation and a previous association of the client device with anetworked media device; automatically identifying a first contentdisplayed on the networked media device; automatically associating atime stamp with the first content; and automatically targeting a secondadvertisement to the client device based on the first content within atime threshold of the time stamp, wherein the automatic identificationis through an automatic content recognition (ACR) of the networked mediadevice, and wherein the second advertisement is interactive.
 8. Themethod of claim 7, wherein when the first content is a media program,the method further comprises: determining from a schedule that the mediaprogram that a user previously watched is subsequently positioned to beaired; selecting an alphanumeric advertisement associated with the mediaprogram formatted for a display area of the client device based oncontextual match between the media program and the alphanumericadvertisement; and delivering the alphanumeric advertisement to theclient device prior to the airing of the media program.
 9. The method ofclaim 7, wherein when the first content is a media program, the methodfurther comprises: determining from a schedule that a second mediaprogram contextually relevant to the media program is subsequentlypositioned to be aired; selecting an alphanumeric advertisementassociated with the second media program formatted for a display area ofthe client device; and delivering the alphanumeric advertisement to theclient device prior to the airing of the second media program.
 10. Themethod of claim 7, wherein at least one of: when the first content is afirst advertisement, the method further comprises delivering the secondadvertisement to the client device, and wherein at least one of theautomatic inferring and the automatic targeting is initiated through atleast one of a web browser and an application of the client device. 11.The method of claim 7, wherein the at least one of the currentassociation and the previous association of the client device with thenetworked media device is inferred based on at least one of: a public IPaddress range, a public IP address, a base station MAC address, a basestation BSSID, a base station SSID, a Bluetooth MAC address, ageolocation, a WiFi direct MAC address of the networked media device, aWiFi direct BSSID of the networked media device, a short code, ausername, and a quick response (QR) code at least one of: shared by andvisible to both the client device and the networked media device. 12.The method of claim 7, wherein the at least one of the currentassociation and the previous association of the client device with thenetworked media device is inferred based on a mutually visibleidentifying signal from one of: the networked media device and a deviceexternal to the networked media device, independent of whether at leastone of: the networked media device and the client device can connect toa third device other than to receive an identifying signal.
 13. Themethod of claim 7, wherein at least one of the current association andthe previous association of the client device with the networked mediadevice is inferred based on whether redirecting at least one of abrowser of the client device and an application of the client device toa private IP address of the networked media device establishes acommunication between the client device and the networked media device.14. The method of claim 7, wherein the at least one of the currentassociation and the previous association of the client device with thenetworked media device is inferred based on whether instructing anapplication of the client device to perform at least one of a multicastand a broadcast based discovery establishes a communication between theclient device and the networked media device.
 15. The method of claim 7,comprising: submitting, through the at least one server, anadvertisement spot to an advertisement exchange so that a bidder can buyadvertisements without requiring a sandboxed application to integratewith content ID based advertisement targeting, and without requiring thesandboxed application to be cognizant of the content ID basedadvertisement targeting.
 16. The method of claim 15, wherein at leastone redirect from a sandbox is used to communicate a user ID used by atleast one of the advertisement exchange, a supply-side platform, ademand-side platform, and a third party advertisement server to at leastone of the networked media device and an advertisement targeting server.17. A system of targeted advertising, comprising: a client device; acomputer network; a networked media device communicatively coupled tothe client device through the computer network; and at least one servercommunicatively coupled to both the client device and the networkedmedia device also through the computer network, wherein the at least oneserver is configured to: automatically infer at least one of: a currentassociation and a previous association of the client device with thenetworked media device, automatically identify a first advertisementdisplayed on the networked media device, automatically associate a timestamp with the first advertisement, and automatically target a secondadvertisement to a webpage displayed by a web browser of the clientdevice based on the first advertisement within a predetermined timethreshold of the time stamp, wherein the second advertisement isinteractive.
 18. The system of claim 17, wherein: the networked mediadevice comprises a frame buffer communicatively coupled to a processor,the processor is configured to generate at least one fingerprint, the atleast one fingerprint comprises at least one of an image fingerprint, asequence of image fingerprints, a fingerprint of a sequence of images,and an audio fingerprint, the processor is configured to communicate theat least one fingerprint to the at least one server, and the automaticidentification of the first advertisement is based on an advertisementfingerprint database and the at least one fingerprint.
 19. The system ofclaim 18, wherein the at least one server is configured to: receive theat least one fingerprint, automatically identify a channel the networkedmedia device is tuned to based on the at least one fingerprint, andgenerate at least one channel-specific fingerprint, and wherein theautomatic identification of the first advertisement is based on theadvertisement fingerprint database and the at least one channel-specificfingerprint.
 20. The system of claim 17, wherein the at least one of thecurrent association and the previous association of the client devicewith the networked media device is inferred based on at least one of apublic IP address range, a public IP address, a base station MACaddress, a base station BSSID, a base station SSID, a Bluetooth MACaddress, a geolocation, a WiFi direct MAC address of the networked mediadevice, a WiFi direct BSSID of the networked media device, a short code,a username, and a QR code at least one of: shared by and visible to boththe client device and the networked media device.
 21. The system ofclaim 17, wherein the at least one of the current association and theprevious association of the client device with the networked mediadevice is inferred based on a mutually visible identifying signal fromone of: the networked media device and a device external to thenetworked media device, independent of whether at least one of: thenetworked media device and the client device can connect to a thirddevice other than to receive an identifying signal.
 22. The system ofclaim 17, wherein the at least one of the current association and theprevious association of the client device with the networked mediadevice is inferred based on whether redirecting a browser of the clientdevice to a private IP address of the networked media device establishesa communication between the client device and the networked mediadevice, and wherein an advertisement spot is submitted to anadvertisement exchange.
 23. The system of claim 17, wherein the at leastone of the current association and the previous association of theclient device with the networked media device is inferred based onwhether instructing an application of the client device to perform atleast one of a multicast and a broadcast based discovery establishes acommunication between the client device and the networked media device.24. The system of claim 22, wherein at least one redirect from a sandboxis used to communicate a user ID used by at least one of theadvertisement exchange, a supply-side platform, a demand-side platform,and a third party advertisement server to at least one of the networkedmedia device and an advertisement targeting server.
 25. A system oftargeted advertising, comprising: a client device; a computer network; anetworked media device communicatively coupled to the client devicethrough the computer network; and at least one server communicativelycoupled to both the client device and the networked media device alsothrough the computer network, wherein the at least one server isconfigured to: automatically infer at least one of: a currentassociation and a previous association of the client device with thenetworked media device, automatically identify a first advertisementdisplayed on the networked media device, automatically catalogue thefirst advertisement in an advertisement database, automaticallyassociate a time stamp with the first advertisement, and automaticallytarget a second advertisement to an application of the client devicebased on the first advertisement within a predetermined time thresholdof the time stamp.
 26. The system of claim 25, wherein: the networkedmedia device comprises a frame buffer communicatively coupled to aprocessor, the processor is configured to generate at least onefingerprint, the at least one fingerprint comprises least one of animage fingerprint, a sequence of image fingerprints, a fingerprint of asequence of images, and an audio fingerprint, the processor isconfigured to communicate the at least one fingerprint to the at leastone server, and an automatic identification of the first advertisementis based on an advertisement fingerprint database and the at least onefingerprint.
 27. The system of claim 26, wherein the at least one serveris configured to: receive the at least one fingerprint, automaticallyidentify a channel the networked media device is tuned to based on theat least one fingerprint, and generate at least one channel-specificfingerprint, wherein the automatic identification of the firstadvertisement is based on the advertisement fingerprint database and theat least one channel-specific fingerprint.
 28. The system of claim 25,wherein the second advertisement is interactive, and wherein the atleast one of the current association and the previous association of theclient device with the networked media device is inferred based on atleast one of a public IP address range, a public IP address, a basestation MAC address, a base station BSSID, a base station SSID, aBluetooth MAC address, a geolocation, a WiFi direct MAC address of thenetworked media device, a WiFi direct BSSID of the networked mediadevice, a short code, a username, and a QR code at least one of: sharedby and visible to both the client device and the networked media device.29. The system of claim 25, wherein the at least one of the currentassociation and the previous association of the client device with thenetworked media device is inferred based on a mutually visibleidentifying signal from one of: the networked media device and a deviceexternal to the networked media device, independent of whether at leastone of: the networked media device and the client device can connect toa third device other than to receive an identifying signal.
 30. Thesystem of claim 25, wherein the at least one of the current associationand the previous association of the client device with the networkedmedia device is inferred based on whether instructing the application ofthe client device to perform at least one of a multicast and a broadcastbased discovery establishes a communication between the client deviceand the networked media device.